package com.ktgj.customer.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.customer.domain.dto.CustomerCardDTO;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class CustomerCRM implements Serializable {

    public CustomerCRM()
    {
        lstCustomerCard = new ArrayList<>();
    }
    /** 客户基本信息ID */
    private Long customerId;

    /** 客户常用名
     */
    @Excel(name = "客户常用名")
    private String customerName;

    /** 性别 1女 2男
     */
    @Excel(name = "性别 1女 2男")
    private String customerSex;

    /** 阳历生日日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "阳历生日日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 人会时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "人会时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date isMemberTime;

    /** 录入员
     */
    @Excel(name = "录入员")
    private Long employeeIdInput;

    /** 联系人电话1 */
    @Excel(name = "联系人电话1")
    private String contractPhoneOne;

    /** 联系人电话2 */
    @Excel(name = "联系人电话2")
    private String contractPhoneTow;

    /** 联系人电子邮箱 */
    @Excel(name = "联系人电子邮箱")
    private String contractEmail;

    /** 联系方式
     */
    @Excel(name = "联系方式")
    private String custContactmeans;

    /** 联系方式说明
     */
    @Excel(name = "联系方式说明")
    private String custContactmeansMemo;

    /** 证件类型ID：
     无证件
     其他证件
     身份证
     军人证
     护照
     港澳居民来往内地通行证
     台湾居民来往大陆通行证
     港澳台居民居住证
     外国人永久居留身份证
     港澳通行证
     户口本
     出生证明
     台湾通行证
     */
    @Excel(name = "证件类型")
    private String idType;

    /** 证件号码
     证件号码
     */
    @Excel(name = "证件号码")
    private String custCertificateNo;

    /** 证件有效期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "证件有效期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date invalidDate;

    /** openId */
    @Excel(name = "openId")
    private String openId;

    /** 昵称 */
    @Excel(name = "昵称")
    private String nickName;

    /** 金币 */
    @Excel(name = "金币")
    private Long gold;

    /** 积分 */
    @Excel(name = "积分")
    private Long integral;

    /** 优惠券数量 */
    @Excel(name = "优惠券数量")
    private Long couponNum;

    /** token */
    @Excel(name = "token")
    private String token;

    private List<CustomerCardDTO> lstCustomerCard;

    public List<CustomerCardDTO> getLstCustomerCard()
    {
        return lstCustomerCard;
    }

    public void setLstCustomerCard(List<CustomerCardDTO> lstCustomerCard)
    {
        this.lstCustomerCard = lstCustomerCard;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerSex() {
        return customerSex;
    }

    public void setCustomerSex(String customerSex) {
        this.customerSex = customerSex;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public Date getIsMemberTime() {
        return isMemberTime;
    }

    public void setIsMemberTime(Date isMemberTime) {
        this.isMemberTime = isMemberTime;
    }

    public Long getEmployeeIdInput() {
        return employeeIdInput;
    }

    public void setEmployeeIdInput(Long employeeIdInput) {
        this.employeeIdInput = employeeIdInput;
    }

    public String getContractPhoneOne() {
        return contractPhoneOne;
    }

    public void setContractPhoneOne(String contractPhoneOne) {
        this.contractPhoneOne = contractPhoneOne;
    }

    public String getContractPhoneTow() {
        return contractPhoneTow;
    }

    public void setContractPhoneTow(String contractPhoneTow) {
        this.contractPhoneTow = contractPhoneTow;
    }

    public String getContractEmail() {
        return contractEmail;
    }

    public void setContractEmail(String contractEmail) {
        this.contractEmail = contractEmail;
    }

    public String getCustContactmeans() {
        return custContactmeans;
    }

    public void setCustContactmeans(String custContactmeans) {
        this.custContactmeans = custContactmeans;
    }

    public String getCustContactmeansMemo() {
        return custContactmeansMemo;
    }

    public void setCustContactmeansMemo(String custContactmeansMemo) {
        this.custContactmeansMemo = custContactmeansMemo;
    }

    public String getIdType() {
        return idType;
    }

    public void setIdType(String idType) {
        this.idType = idType;
    }

    public String getCustCertificateNo() {
        return custCertificateNo;
    }

    public void setCustCertificateNo(String custCertificateNo) {
        this.custCertificateNo = custCertificateNo;
    }

    public Date getInvalidDate() {
        return invalidDate;
    }

    public void setInvalidDate(Date invalidDate) {
        this.invalidDate = invalidDate;
    }

    public String getOpenId() {
        return openId;
    }

    public void setOpenId(String openId) {
        this.openId = openId;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public Long getGold() {
        return gold;
    }

    public void setGold(Long gold) {
        this.gold = gold;
    }

    public Long getIntegral() {
        return integral;
    }

    public void setIntegral(Long integral) {
        this.integral = integral;
    }

    public Long getCouponNum() {
        return couponNum;
    }

    public void setCouponNum(Long couponNum) {
        this.couponNum = couponNum;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }
}
